1. Technical Field
This disclosure generally relates to computer systems, and more specifically relates to computer systems that include multiple logical partitions that share resources.
2. Background Art
The combination of hardware and software on a particular computer system defines a computing environment. Different hardware platforms and different operating systems thus provide different computing environments. In recent years, engineers have recognized that it is possible to provide different computing environments on the same physical computer system by logically partitioning the computer system resources to different computing environments. The Power Systems computer system developed by IBM is an example of a computer system that supports logical partitioning. If logical partitioning on a Power Systems computer system is desired, partition manager code (referred to as a “hypervisor” in IBM terminology) is installed that allows defining different computing environments on the same platform. Once the partition manager is installed, logical partitions may be created that define different computing environments. The partition manager manages the logical partitions to assure that they can share needed resources in the computer system while maintaining the separate computing environments defined by the logical partitions.
Non-uniform memory access (NUMA) is a computer architecture that provides multiple nodes that each have multiple processors coupled to local memory. While all memory in all nodes may be accessed by any processor in the system, the time to access memory that is local to a processor is much less that the time to access memory that is remote from a processor (e.g., on a different node). In this sense, the memory access times in the system are non-uniform, meaning local memory accesses are faster than remote memory accesses.
Logical partitions may be dedicated or shared. A dedicated logical partition has resources that are dedicated to it, which means only the dedicated logical partition may use these resources. A shared logical partition, on the other hand, uses resources that may also be used by other logical partitions. When a computer has a NUMA topology and is logically partitioned, NUMA optimizations may be enabled on all dedicated logical partitions. However, NUMA optimizations are typically disabled for all shared logical partitions because the sharing of the resources reduces the effectiveness of the NUMA optimizations. In addition, if NUMA optimizations were enabled on shared logical partitions, it could lead to a net decrease in performance for the logical partition. As a result, when a NUMA computer system is logically partitioned in the prior art, NUMA optimizations are enabled for dedicated logical partitions but are disabled for shared logical partitions. Without a way to enable NUMA optimizations on shared logical partitions without the possibility of decreased performance, shared logical partitions in a NUMA computer system will not benefit from NUMA optimizations.